home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / java / nio / DirectCharBufferRU.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.0 KB  |  103 lines

  1. package java.nio;
  2.  
  3. import sun.nio.ch.DirectBuffer;
  4.  
  5. class DirectCharBufferRU extends DirectCharBufferU implements DirectBuffer {
  6.    DirectCharBufferRU(DirectBuffer var1, int var2, int var3, int var4, int var5, int var6) {
  7.       super(var1, var2, var3, var4, var5, var6);
  8.    }
  9.  
  10.    public CharBuffer slice() {
  11.       int var1 = this.position();
  12.       int var2 = this.limit();
  13.  
  14.       assert var1 <= var2;
  15.  
  16.       int var3 = var1 <= var2 ? var2 - var1 : 0;
  17.       int var4 = var1 << 1;
  18.  
  19.       assert var4 >= 0;
  20.  
  21.       return new DirectCharBufferRU(this, -1, 0, var3, var3, var4);
  22.    }
  23.  
  24.    public CharBuffer duplicate() {
  25.       return new DirectCharBufferRU(this, this.markValue(), this.position(), this.limit(), this.capacity(), 0);
  26.    }
  27.  
  28.    public CharBuffer asReadOnlyBuffer() {
  29.       return this.duplicate();
  30.    }
  31.  
  32.    public CharBuffer put(char var1) {
  33.       throw new ReadOnlyBufferException();
  34.    }
  35.  
  36.    public CharBuffer put(int var1, char var2) {
  37.       throw new ReadOnlyBufferException();
  38.    }
  39.  
  40.    public CharBuffer put(CharBuffer var1) {
  41.       throw new ReadOnlyBufferException();
  42.    }
  43.  
  44.    public CharBuffer put(char[] var1, int var2, int var3) {
  45.       throw new ReadOnlyBufferException();
  46.    }
  47.  
  48.    public CharBuffer compact() {
  49.       throw new ReadOnlyBufferException();
  50.    }
  51.  
  52.    public boolean isDirect() {
  53.       return true;
  54.    }
  55.  
  56.    public boolean isReadOnly() {
  57.       return true;
  58.    }
  59.  
  60.    public String toString(int var1, int var2) {
  61.       if (var2 <= this.limit() && var1 <= var2) {
  62.          try {
  63.             int var3 = var2 - var1;
  64.             char[] var4 = new char[var3];
  65.             CharBuffer var5 = CharBuffer.wrap(var4);
  66.             CharBuffer var6 = this.duplicate();
  67.             var6.position(var1);
  68.             var6.limit(var2);
  69.             var5.put(var6);
  70.             return new String(var4);
  71.          } catch (StringIndexOutOfBoundsException var7) {
  72.             throw new IndexOutOfBoundsException();
  73.          }
  74.       } else {
  75.          throw new IndexOutOfBoundsException();
  76.       }
  77.    }
  78.  
  79.    public CharSequence subSequence(int var1, int var2) {
  80.       int var3 = this.position();
  81.       int var4 = this.limit();
  82.  
  83.       assert var3 <= var4;
  84.  
  85.       var3 = var3 <= var4 ? var3 : var4;
  86.       int var5 = var4 - var3;
  87.       if (var1 >= 0 && var2 <= var5 && var1 <= var2) {
  88.          int var6 = var2 - var1;
  89.          int var7 = var3 + var1 << 1;
  90.  
  91.          assert var7 >= 0;
  92.  
  93.          return new DirectCharBufferRU(this, -1, 0, var6, var6, var7);
  94.       } else {
  95.          throw new IndexOutOfBoundsException();
  96.       }
  97.    }
  98.  
  99.    public ByteOrder order() {
  100.       return ByteOrder.nativeOrder() != ByteOrder.BIG_ENDIAN ? ByteOrder.LITTLE_ENDIAN : ByteOrder.BIG_ENDIAN;
  101.    }
  102. }
  103.